#include <iostream>
#include <tuple>
#include <string>

// 使用 std::apply 和 lambda 来打印元组中的每个元素
template <typename... Args>
void print_with_tuple(Args... args) {
    auto args_tuple = std::make_tuple(args...);  // 将参数包转换为元组
    std::apply([](const auto&... args) {  // 使用 lambda 函数处理元组中的每个元素
        ((std::cout << args << ", "), ...);  // 使用 fold expression 打印每个参数
    }, args_tuple);
    std::cout << '\n';  // 输出换行
}

int main() {
    print_with_tuple("Hello", 55, 3.14, "world");
}